10 REM *** MIDI-BASIC SEQUENZER-DEMO *** 20 REM 30 REM *** SQ(A,B): SEQUENZNR, DATUM 40 REM *** RP(A) : WIEDERHOLG. SEQ A 50 REM *** L(A) : LAENGE SEQ A 60 REM *** MA : HOECHSTE NOTE 70 REM *** MI : TIEFSTE NOTE 80 REM *** S : GESCHWINDIGKEIT 90 REM *** T : PITCH-TRANSPOSE 100 REM ** P : MIDI-PROGRAMMNUMMER 110 REM 120 DIM SQ(10,64),RP(10),L(10) 130 (null):(null) 1,1 140 (null):(null) 1,4:PRINTCHR$(14)"*** [205][201][196][201][194][193][211][201][195] [211]EQUENZER-[196]EMO ***" 150 NZ=-2:SZ=1 160 READ N,D:IF N>MA THEN MA=N 170 IF N>-1 THEN NZ=NZ+2:SQ(SZ,NZ)=N:SQ(SZ,NZ+1)=D:GOTO 160 180 IF N<-1 THEN RP(SZ)=-N:L(SZ)=NZ:NZ=-2:SZ=SZ+1:GOTO160 190 IF N=-1 THEN SZ=SZ-1 200 (null) 18,9:PRINT" " 210 (null) 5,1:INPUT"[208]ROGRAMMNUMMER ";P:IF P<0 OR P>127 THEN 210 220 (null) 7,1:INPUT"[199]ESCHWINDIGKEIT ";S:IF S<=0 THEN 220 230 (null) 9,1:INPUT"[201]NTERVALLVERSCHIEBUNG ";T:IF MA+T>127 OR MI+T<0 THEN 230 240 (null) 15,2:PRINT"[[211][208][193][195][197]] = [206]EUSTART [[210][197][212][213][210][206]] = [197]NDE" 250 (null) 18,13:PRINT"[194]ITTE [215]ARTEN..." 260 (null) 1,P 270 (null) 18,9:PRINT"[196]EMONSTRATION LAEUFT..." 280 FOR A=1 TO SZ:FOR B=1 TO RP(A):FOR C=0 TO L(A) STEP 2 290 GET A$:IF A$=CHR$(13) THEN :(null) 1,1:(null):END 300 IF A$=" " THEN :(null) 1,1:GOTO 200 310 (null) 1,SQ(A,C)+T,64:FOR D=0 TO SQ(A,C+1) STEP S:NEXT D:(null) 1,SQ(A,C)+T,64 320 NEXT C:NEXT B:NEXT A:GOTO 280 330 REM 340 REM *** MUSIKDATEN *** 350 REM 360 REM *** 24,100: NOTE, DAUER 370 REM *** -4,-4 : SEQ-WIEDERHOLUNGEN 380 REM *** -1,-1 : ENDEKENNZEICHEN 390 REM 400 DATA 24,100,36,100,34,100,31,100,-4,-4 410 DATA 29,100,41,100,39,100,36,100,-4,-4 420 DATA 24,100,36,100,34,100,31,100,-4,-4 430 DATA 31,100,43,100,41,100,38,100,-2,-2 440 DATA 29,100,41,100,39,100,36,100,-2,-2 450 DATA 24,100,36,100,34,100,31,100,-4,-4 460 DATA -1,-1